
/**
 * AppleIIGo
 * Chip Device class
 * (C) 2007 by Marc S. Ressl (mressl@umich.edu)
 * Released under the GPL
 */

#include "Motherboard.h"

#ifndef CHIPDEVICE_H
#define CHIPDEVICE_H

class ChipDevice : public Device {
public:
	static ChipDevice * getInstance(char * chipDeviceType,
									class Motherboard * motherboard);
	
	ChipDevice(class Motherboard * motherboard);
	
	void onDevicesConnected();
	
	virtual UINT8 readIo(UINT16 address);
	virtual UINT8 readIo(UINT16 address, UINT8 value);
	virtual void writeIo(UINT16 address, UINT8 value);
	
protected:
	class TimingGenerator * timingGenerator;
};

#endif
